﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
using System.ComponentModel;
using OrderedPropertyGrid;

namespace MREO.data
{

    /// <summary>
    /// Класс для описания пользователей
    /// </summary>
    public class Users
    {
        private int id = 0;
        private string fam;
        private string im;
        private string otch;
        private int lvl;
        private string pwd;

        public int _id
        {
            get { return id; }
            set { id = value; }
        }

        public string _fam
        {
            get { return fam;}
            set { fam = value; }
        }

        public string _im
        {
            get { return im; }
            set { im = value; }
        }

        public string _otch
        {
            get { return otch; }
            set { otch = value; }
        }

        public int _lvl
        {
            get { return lvl; }
            set { lvl = value; }
        }

        public string _pwd
        {
            get { return pwd; }
            set { pwd = value; }
        }
    }

    /// <summary>
    /// Описание загруженного шаблона
    /// </summary>
    public class Template
    {
        private string name;        // Имя шаблона
        private long id;            // Id шаблона
        private byte[] templ;       // Содержимое шаблона
        /// <summary>
        /// Наименование шаблона
        /// </summary>
        public string _name
        {
            get { return name; }
            set { name = value; }
        }
        /// <summary>
        /// Id шаблона
        /// </summary>
        public long _id
        {
            get { return id; }
            set { id = value; }
        }
        /// <summary>
        /// Содержимое шаблона
        /// </summary>
        public byte[] _templ
        {
            get { return templ; }
            set { templ = value; }
        }

    }

    /// <summary>
    /// Глобальные переменные
    /// </summary>
    public static class GValues
    {
        private static long userID;
        private static string userFIO;
        private static string branchName;


        /// <summary>
        /// ID пользователя
        /// </summary>
        public static long _userID
        {
            get { return userID; }
            set { userID = value; }
        }

        /// <summary>
        /// Фамилия пользователя
        /// </summary>
        public static string _userFIO
        {
            get { return userFIO; }
            set { userFIO = value; }

        }

        /// <summary>
        /// Наименование отделения
        /// </summary>
        public static string _branchName
        {
            get { return branchName; }
            set { branchName = value; }
        }

        /// <summary>
        /// Инициализирует глобальные переменные
        /// </summary>
        public static DataTable getGvalData()
        {
            Connection Conn = new Connection();
            SqlCeDataAdapter adapter = new SqlCeDataAdapter();
            SqlCeCommand command = null;

            DataTable dt = new DataTable();

            try
            {
                Conn.con.Open();

                command = new SqlCeCommand("SELECT id, xname, xvalue, xdescription" +
                                            " FROM gval"
                                            , Conn.con);
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
            catch (Exception exc) { throw new Exception(exc.Message); }
            finally
            {
                command.Dispose();
                adapter.Dispose();
                if (Conn.con.State == ConnectionState.Open)
                    Conn.con.Close();
            }

            return dt;
        }
    }

    public class Connection
    {

#if(DEBUG)
        //public SqlCeConnection con = new SqlCeConnection(@"Data Source=D:\VS 2010\Work\MREO\MREO\MREO\Data\data.sdf;Locale Identifier=1049; Password = 'sys'");
        //public SqlCeConnection con = new SqlCeConnection(@"Data Source=D:\VS 2010\project\MREO(1)\MREO\MREO\Data\data.sdf;Locale Identifier=1049; Password = 'sys'");
        public SqlCeConnection con = new SqlCeConnection(@"Data Source= D:\VS 2010\Realese\MREO\Data\data.sdf;Locale Identifier=1049; Password = 'sys'");
#else
        static string curDir = Environment.CurrentDirectory;
        public SqlCeConnection con = new SqlCeConnection(@"Data Source=" + curDir + @"\Data\data.sdf; Locale Identifier=1049; Password = 'sys'");
#endif

    }

    /// <summary>
    /// Вспомогательные методы
    /// </summary>
    public class supportMethod
    {
        Connection Conn = new Connection();
        SqlCeDataAdapter adapter = new SqlCeDataAdapter();
        SqlCeCommand command = null;

        public DataTable getLogPrintData(DateTime pdtStart, DateTime pdtEnd)
        {
            DataTable dt = new DataTable("log_print");

            try
            {
                Conn.con.Open();

                command = new SqlCeCommand("SELECT users, mnuItems, datePrint " +
                                            " FROM log_print" +
                                            " WHERE datePrint >= @pdtStart AND datePrint <= @pdtEnd" +
                                            " ORDER BY users, mnuItems",
                                            Conn.con);
                command.Parameters.Add("@pdtStart", SqlDbType.DateTime).Value = pdtStart.Date;
                command.Parameters.Add("@pdtEnd", SqlDbType.DateTime).Value = pdtEnd.Date;
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
            catch (Exception exc) { throw new Exception(exc.Message); }
            finally
            {
                command.Dispose();
                adapter.Dispose();
                if (Conn.con.State == ConnectionState.Open)
                    Conn.con.Close();
            }

            return dt;
        }

        /// <summary>
        /// Сохраняем запись о распечатанном документе
        /// По сути сохраняю запись о факте нажатия на кнопку печать
        /// </summary>
        /// <param name="pTemplName"></param>
        public void saveLogPrint(string pTemplName)
        {
            try
            {
                Conn.con.Open();

                command = new SqlCeCommand("INSERT INTO log_print(users, mnuItems, datePrint)" +
                                            " VALUES(@users, @mnuItems, @datePrint)"
                                            , Conn.con);
                command.Parameters.Add("@users", SqlDbType.NVarChar).Value = GValues._userFIO;
                command.Parameters.Add("@mnuItems", SqlDbType.NVarChar).Value = pTemplName;
                command.Parameters.Add("@datePrint", SqlDbType.DateTime).Value = DateTime.Now.Date;
                command.ExecuteNonQuery();
            }
            catch (Exception exc) { throw new Exception(exc.Message); }
            finally
            {
                command.Dispose();
                adapter.Dispose();
                if (Conn.con.State == ConnectionState.Open)
                    Conn.con.Close();
            }
        }

        /// <summary>
        /// Формируем меню из БД
        /// </summary>
        /// <returns></returns>
        public DataTable loadMnu()
        {
            DataTable dt = new DataTable();

            try
            {
                Conn.con.Open();

                command = new SqlCeCommand("SELECT id, doc_type, doc_name, xorder, template, groupDoc" +
                                            " FROM mnuItems ORDER BY doc_type, xorder"
                                            , Conn.con);
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
            catch (Exception exc) { throw new Exception(exc.Message); }
            finally
            {
                command.Dispose();
                adapter.Dispose();
                if (Conn.con.State == ConnectionState.Open)
                    Conn.con.Close();
            }

            return dt;
        }
    }

    /// <summary>
    /// Класс описывает поля необходимые для документов снятия и постановки на учет,  договора купли продажи
    /// Данные документы печатаются всемте в рамках "одного пакета"
    /// </summary>
    [TypeConverter(typeof(PropertySorter))]
    public class docBaySell
    {
        /// <summary>
        /// Возвращает значение по имени, если не находит - null
        /// </summary>
        /// <param name="pName">Имя параметра</param>
        /// <returns></returns>
        public object getValueByName(string pName)
        {

#if(DEBUG)
            if (pName.Equals("bayPass_serNumb")) return "XX-БМ 12345678970";
            if (pName.Equals("bayPass_vydanDate")) return "УВД г. Тирасполь 14.04.1995";
            if (pName.Equals("bayPass_famImOtch"))return "Мельников Дмитрий Александрович";
            if (pName.Equals("bay_bdate")) return "25.11.1979";
            if (pName.Equals("bay_address")) return "г. Тирасполь, ул К. Либкнехта 300 кв. 54";
            if (pName.Equals("bay_vodUdost")) return "123456789";
            if (pName.Equals("bay_workPlace")) return bay_workPlace;
            if (pName.Equals("bay_doljn")) return bay_doljn;


            if (pName.Equals("sellPass_serNumb")) return "1-ПР 987654321";
            if (pName.Equals("sellPass_vydanData")) return "УВД г. Бендеры 02.02.1992";
            if (pName.Equals("sellPass_famImOtch")) return "Иванов Иван Иванивич";
            if (pName.Equals("sellPass_bdate")) return "11.11.2011";
            if (pName.Equals("sellPass_address")) return "г. Бендеры, ул. Ленина 15 кв. 4";
            if (pName.Equals("sellPass_workPlace")) return sellPass_workPlace;
            if (pName.Equals("sellPass_doljn")) return sellPass_doljn;

            if (pName.Equals("sellDov_fio")) return "Доверенный Доверенный Доверенный";
            if (pName.Equals("sellDov_bdate")) return "02.02.2002";
            if (pName.Equals("sellDov_address")) return "г. Липецк, ул Липетская 50 кв 54";
            if (pName.Equals("sellDov_passSerNumber")) return "XX-FF 784511325";
            if (pName.Equals("sellDov_passVydan")) return "УВД Липецк 15.05.2001г.";
            if (pName.Equals("sellDov_Dov")) return "1ч/13-3956 от 12 августа 2013 г.";

            if (pName.Equals("autoModel")) return "Nissan";
            if (pName.Equals("autoNomer")) return "D 123 HT";
            if (pName.Equals("autoYear")) return "1991";
            if (pName.Equals("autoColor")) return "Темно синий";
            if (pName.Equals("autoTehPass")) return "12345682";
            if (pName.Equals("autoEngineNumb")) return 125613156;
            if (pName.Equals("autoShassiNumber")) return 556454654654;
            if (pName.Equals("autoBoardNumber")) return 65465454654654654;

            if (pName.Equals("regcard_tip")) return "Автомобиль";
            if (pName.Equals("regcard_vedomstv")) return "МВД ПМР";
            if (pName.Equals("regcard_address")) return "с.Большие Брызги";
            
            return null;
#else
            if (pName.Equals("bayPass_serNumb")) return bayPass_serNumb;
            if (pName.Equals("bayPass_vydanDate")) return bayPass_vydanDate;
            if (pName.Equals("bayPass_famImOtch"))return bayPass_famImOtch;
            if (pName.Equals("bay_bdate")) return bay_bdate;
            if (pName.Equals("bay_address")) return bay_address;
            if (pName.Equals("bay_vodUdost")) return bay_vodUdost;
            if (pName.Equals("bay_workPlace")) return bay_workPlace;
            if (pName.Equals("bay_doljn")) return bay_doljn;


            if (pName.Equals("sellPass_serNumb")) return sellPass_serNumb;
            if (pName.Equals("sellPass_vydanData")) return sellPass_vydanData;
            if (pName.Equals("sellPass_famImOtch")) return sellPass_famImOtch;
            if (pName.Equals("sellPass_bdate")) return sellPass_bdate;
            if (pName.Equals("sellPass_address")) return sellPass_address;
            if (pName.Equals("sellPass_workPlace")) return sellPass_workPlace;
            if (pName.Equals("sellPass_doljn")) return sellPass_doljn;

            if (pName.Equals("sellDov_fio")) return sellDov_fio;
            if (pName.Equals("sellDov_bdate")) return sellDov_bdate;
            if (pName.Equals("sellDov_address")) return sellDov_address;
            if (pName.Equals("sellDov_passSerNumber")) return sellDov_passSerNumber;
            if (pName.Equals("sellDov_passVydan")) return sellDov_passVydan;
            if (pName.Equals("sellDov_Dov")) return sellDov_Dov;

            if (pName.Equals("autoModel")) return autoModel;
            if (pName.Equals("autoNomer")) return autoNomer;
            if (pName.Equals("autoYear")) return autoYear;
            if (pName.Equals("autoColor")) return autoColor;
            if (pName.Equals("autoTehPass")) return autoTehPass;
            if (pName.Equals("autoEngineNumb")) return autoEngineNumb;
            if (pName.Equals("autoShassiNumber")) return autoShassiNumber;
            if (pName.Equals("autoBoardNumber")) return autoBoardNumber;

            if (pName.Equals("regcard_tip")) return regcard_tip;
            if (pName.Equals("regcard_vedomstv")) return regcard_vedomstv;
            if (pName.Equals("regcard_address")) return regcard_address;

            return null;


            //if (pName.Equals("bayPass_ser")) return bayPass_ser;
            //if (pName.Equals("bayPass_numb")) return bayPass_numb;
            //if (pName.Equals("bayPass_vydan")) return bayPass_vydan;
            //if (pName.Equals("bayPass_data"))
            //{
            //    return bayPass_data == null ? "" : bayPass_data.Value.ToShortDateString();
            //}
            //if (pName.Equals("bayPass_fam")) return bayPass_fam;
            //if (pName.Equals("bayPass_im")) return bayPass_im;
            //if (pName.Equals("bayPass_otch")) return bayPass_otch;
            //if (pName.Equals("bay_bdate"))
            //{
            //    return bay_bdate == null ? "" : bay_bdate.Value.ToShortDateString();
            //}
            //if (pName.Equals("bay_address")) return bay_address;
            //if (pName.Equals("bay_vodUdost")) return bay_vodUdost;
            //if (pName.Equals("bay_workPlace")) return bay_workPlace;
            //if (pName.Equals("bay_doljn")) return bay_doljn;
            //if (pName.Equals("bay_fio"))
            //{
            //    return bayPass_fam + " " + bayPass_im + " " + bayPass_otch;
            //} 

            //if (pName.Equals("sellPass_ser")) return sellPass_ser;
            //if (pName.Equals("sellPass_numb")) return sellPass_numb;
            //if (pName.Equals("sellPass_vydan")) return sellPass_vydan;
            //if (pName.Equals("sellPass_data"))
            //{
            //    return sellPass_data == null ? "" : sellPass_data.Value.ToShortDateString();
            //}
            //if (pName.Equals("sellPass_fam")) return sellPass_fam;
            //if (pName.Equals("sellPass_im")) return sellPass_im;
            //if (pName.Equals("sellPass_otch")) return sellPass_otch;
            //if (pName.Equals("sellPass_bdate"))
            //{
            //    return sellPass_bdate == null ? "" : sellPass_bdate.Value.ToShortDateString();
            //}
            //if (pName.Equals("sellPass_address")) return sellPass_address;
            //if (pName.Equals("sellPass_workPlace")) return sellPass_workPlace;
            //if (pName.Equals("sellPass_doljn")) return sellPass_doljn;
            //if (pName.Equals("sell_fio"))
            //{
            //    return sellPass_fam + " " + sellPass_im + " " + sellPass_otch;
            //}
            //if (pName.Equals("autoModel")) return autoModel;
            //if (pName.Equals("autoNomer")) return autoNomer;
            //if (pName.Equals("autoYear")) return autoYear;
            //if (pName.Equals("autoColor")) return autoColor;
            //if (pName.Equals("autoTehPass")) return autoTehPass;
            //if (pName.Equals("autoEngineNumb")) return autoEngineNumb;
            //if (pName.Equals("autoShassiNumber")) return autoShassiNumber;
            //if (pName.Equals("autoBoardNumber")) return autoBoardNumber;

            //return null;
#endif
        }

        #region Паспортные данные покупателя

        private string _bayPass_serNumb;
        private string _bayPass_vydanDate;
        private string _bayPass_famImOtch;
        private string _bay_bdate;
        private string _bay_address;
        private string _bay_vodUdost;
        private string _bay_workPlace;
        private string _bay_doljn;

        [DisplayName("7.Занимаемая должность")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Занимаемая должность"), PropertyOrder(7)]
        public string bay_doljn
        {
            get { return _bay_doljn; }
            set { _bay_doljn = value; }
        }

        [DisplayName("6.Место работы")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Место работы"), PropertyOrder(6)]
        public string bay_workPlace
        {
            get { return _bay_workPlace; }
            set { _bay_workPlace = value; }
        }

        [DisplayName("8.Водительское удостоверение")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Водительское удостоверение"), PropertyOrder(8)]
        public string bay_vodUdost
        {
            get { return _bay_vodUdost; }
            set { _bay_vodUdost = value; }
        }

        [DisplayName("4.Серия, номер паспорта")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Серия, номер паспорта"), PropertyOrder(4)]
        public string bayPass_serNumb
        {
            get { return _bayPass_serNumb; }
            set { _bayPass_serNumb = value; }
        }

        [DisplayName("5.Кем и когда выдан паспорт")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Кем и когда выдан паспорт"), PropertyOrder(5)]
        public string bayPass_vydanDate
        {
            get { return _bayPass_vydanDate; }
            set { _bayPass_vydanDate = value; }
        }

        [DisplayName("1.Фамилия, имя, отчество")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Фамилия, имя, отчество"), PropertyOrder(1)]
        public string bayPass_famImOtch
        {
            get { return _bayPass_famImOtch; }
            set { _bayPass_famImOtch = value; }
        }

        [DisplayName("2.Дата рождения")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Дата рождения"), PropertyOrder(2)]
        public string bay_bdate
        {
            get { return _bay_bdate; }
            set { _bay_bdate = value; }
        }

        [DisplayName("3.Адрес проживания")]
        [CategoryAttribute("Данные гр-на ставящего на учет"), DescriptionAttribute("Адрес проживания"), PropertyOrder(3)]
        public string bay_address
        {
            get { return _bay_address; }
            set { _bay_address = value; }
        }

        #endregion

        #region Паспортные данные продавца

        private string _sellPass_serNumb;
        private string _sellPass_vydanData;
        private string _sellPass_famImOtch;
        private string _sellPass_bdate;
        private string _sellPass_address;
        private string _sellPass_workPlace;
        private string _sellPass_doljn;
        private string _sellDov_fio;
        private string _sellDov_bdate;
        private string _sellDov_address;
        private string _sellDov_passSerNumber;
        private string _sellDov_passVydan;
        private string _sellDov_Dov;

        [DisplayName("13.Доверенное лицо: Доверенность")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: Доверенность"), PropertyOrder(13)]
        public string sellDov_Dov
        {
            get { return _sellDov_Dov; }
            set { _sellDov_Dov = value; }
        }
        
        [DisplayName("12.Доверенное лицо: Кем и когда выдан паспорт")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: Кем и когда выдан паспорт"), PropertyOrder(12)]
        public string  sellDov_passVydan
        {
            get { return _sellDov_passVydan; }
            set { _sellDov_passVydan = value; }
        }

        [DisplayName("11.Доверенное лицо: Серия, номер паспорта")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: Серия, номер паспорта"), PropertyOrder(11)]
        public string sellDov_passSerNumber
        {
            get { return _sellDov_passSerNumber; }
            set { _sellDov_passSerNumber = value; }
        }

        [DisplayName("10.Доверенное лицо: Адрес")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: Адрес"), PropertyOrder(10)]
        public string sellDov_address
        {
            get { return _sellDov_address; }
            set { _sellDov_address = value; }
        }

        [DisplayName("9.Доверенное лицо: Дата рождения")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: Дата рождения"), PropertyOrder(9)]
        public string sellDov_bdate
        {
            get { return _sellDov_bdate; }
            set { _sellDov_bdate = value; }
        }

        [DisplayName("8.Доверенное лицо: ФИО")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Доверенное лицо: ФИО"), PropertyOrder(8)]
        public string sellDov_fio
        {
            get { return _sellDov_fio; }
            set { _sellDov_fio = value; }
        }
        

        [DisplayName("7.Занимаемая должность")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Занимаемая должность"), PropertyOrder(7)]
        public string sellPass_doljn
        {
            get { return _sellPass_doljn; }
            set { _sellPass_doljn = value; }
        }

        [DisplayName("6.Место работы")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Место работы"), PropertyOrder(6)]
        public string sellPass_workPlace
        {
            get { return _sellPass_workPlace; }
            set { _sellPass_workPlace = value; }
        }

        [DisplayName("3.Адрес проживания")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Адрес проживания"), PropertyOrder(3)]
        public string sellPass_address
        {
            get { return _sellPass_address; }
            set { _sellPass_address = value; }
        }
        
        [DisplayName("2.Дата рождения")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Дата рождения"), PropertyOrder(2)]
        public string sellPass_bdate
        {
            get { return _sellPass_bdate; }
            set { _sellPass_bdate = value; }
        }

        [DisplayName("4.Серия, номер паспорта")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Серия, номер паспорта"), PropertyOrder(4)]
        public string sellPass_serNumb
        {
            get { return _sellPass_serNumb; }
            set { _sellPass_serNumb = value; }
        }

        [DisplayName("5.Кем и когда выдан паспорт")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Кем выдан паспорт"), PropertyOrder(5)]
        public string sellPass_vydanData
        {
            get { return _sellPass_vydanData; }
            set { _sellPass_vydanData = value; }
        }

        [DisplayName("1.Фамилия, имя, отчество")]
        [CategoryAttribute("Данные гр-на снимающего с учета"), DescriptionAttribute("Фамилия, имя, отчество"), PropertyOrder(1)]
        public string sellPass_famImOtch
        {
            get { return _sellPass_famImOtch; }
            set { _sellPass_famImOtch = value; }
        }

        #endregion

        #region Данные автомобиля

        private string _autoModel;
        private string _autoNomer;
        private string _autoYear;
        private string _autoColor;
        private string _autoTehPass;
        private string _autoEngineNumb;
        private string _autoShassiNumber;
        private string _autoBoardNumber;

        [DisplayName("6.Кузов(коляска)")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Номер кузова(коляски)"), PropertyOrder(6)]
        public string autoBoardNumber
        {
            get { return _autoBoardNumber; }
            set { _autoBoardNumber = value; }
        }

        [DisplayName("7.Шасси(рама)")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Номер шасси(рамы)"), PropertyOrder(7)]
        public string autoShassiNumber
        {
            get { return _autoShassiNumber; }
            set { _autoShassiNumber = value; }
        }

        [DisplayName("8.Двигатель")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Номер двигателя"), PropertyOrder(8)]
        public string autoEngineNumb
        {
            get { return _autoEngineNumb; }
            set { _autoEngineNumb = value; }
        }

        [DisplayName("5.Технический паспорт")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Номер технического паспорта"), PropertyOrder(5)]
        public string autoTehPass
        {
            get { return _autoTehPass; }
            set { _autoTehPass = value; }
        }

        [DisplayName("2.Цвет")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Цвет"), PropertyOrder(2)]
        public string autoColor
        {
            get { return _autoColor; }
            set { _autoColor = value; }
        }

        [DisplayName("3.Год")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Год выпуска"), PropertyOrder(3)]
        public string autoYear
        {
            get { return _autoYear; }
            set { _autoYear = value; }
        }

        [DisplayName("4.Гос. номер")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Гос. номер"), PropertyOrder(4)]
        public string autoNomer
        {
            get { return _autoNomer; }
            set { _autoNomer = value; }
        }

        [DisplayName("1.Марка")]
        [CategoryAttribute("Данные по автомобилю"), DescriptionAttribute("Марка"), PropertyOrder(1)]
        public string autoModel
        {
            get { return _autoModel; }
            set { _autoModel = value; }
        }
        
        #endregion

        #region Недостающие данные в Регистрационной карточке

        private string _regcard_vedomstv;
        private string _regcard_tip;
        private string _regcard_address;

        [DisplayName("2.Адрес прибытия")]
        [CategoryAttribute("Регистрационная карточка"), DescriptionAttribute("Адрес прибытия"), PropertyOrder(2)]
        public string regcard_address
        {
            get { return _regcard_address; }
            set { _regcard_address = value; }
        }

        [DisplayName("1.Тип")]
        [CategoryAttribute("Регистрационная карточка"), DescriptionAttribute("Тип"), PropertyOrder(1)]
        public string regcard_tip
        {
            get { return _regcard_tip; }
            set { _regcard_tip = value; }
        }

        [DisplayName("3.Ведомственная принадлежность")]
        [CategoryAttribute("Регистрационная карточка"), DescriptionAttribute("Ведомственная принадлежность"), PropertyOrder(3)]
        public string regcard_vedomstv
        {
            get { return _regcard_vedomstv; }
            set { _regcard_vedomstv = value; }
        }
        
        #endregion
    }
}
